草庐IT

mySQL DELIMITER 抛出 1064

全部标签

c++ - vector 和 map 抛出异常

我的任务是输出所有十位数字,其中数字不重复。我首先使用的是这样的东西:#include#include#include#include#includeusingnamespacestd;voidTask5(){autoinitialization=[](map*m,intcount){for(inti=0;i*m,intcount,intvalue){for(inti=9;i>count;--i)m[count][i][value]=false;};/*Forcreatecopymap*/automould=[](map*m,map*m_copy,intcount)->map*{if(

c++ - 外部 "C"DLL : Debug is OK, 发布抛出错误 C2059

我有一个作为C++Win32应用程序创建的DLL。为了防止在我的DLL中出现名称混淆,我使用了下面定义的EXPORT定义:#ifndefEXPORT#defineEXPORTextern"C"__declspec(dllexport)#endifEXPORTint_stdcallSteadyFor(doublePar[],doubleInlet[],doubleOutlet[]);为了编译这段代码,我必须进入项目的属性并将C/C++CallingConvention设置为__stdcall(/Gz)并设置CompileAs到CompileasC++Code(/TP)。这在Debug模式

c++ - 为什么这个程序抛出 'std::system_error' ?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whydoesthissimplestd::threadexamplenotwork?代码:#include#includevoidf(){std::cout问题:$g++-othread_testthread_test.cpp-std=c++0x$./thread_testterminatecalledafterthrowinganinstanceof'std::system_error'what():OperationnotpermittedAbortado“Abortado”在我的语言环境中表示“中止”

c++ - 在 Cygwin 上执行的程序不报告抛出的异常

当我运行如下所示的简单程序时,我在Cygwin和Ubuntu操作系统上得到了不同的终端输出。#include#include#includeusingnamespacestd;doublesquare_root(doublex){if(x在Cygwin上,与Ubuntu不同,我没有收到任何表明抛出异常的消息。这可能是什么原因?是否需要为Cygwin下载一些东西,以便它按预期处理异常?我在GCC4.9.0中使用Cygwin1.7.30版。在Ubuntu上,我有版本13.10和GCC4.8.1。我怀疑在这种情况下编译器的差异是否重要。 最佳答案

c++ - 按值或引用抛出异常

来自这个答案https://stackoverflow.com/a/36738405/4523099:Athrow-expressionwithnooperandrethrowsthecurrentlyhandledexception.Theexceptionisreactivatedwiththeexistingtemporary;nonewtemporaryexceptionobjectiscreated.--ISO/IEC14882:2011Section15.1par.8那么为什么我会从这段代码中得到这个结果?代码:#includeclassmy_exception:publi

c++ - 如何处理抛出异常的文件析构函数?

关闭正在写入的文件时检测错误很重要,因为数据的最后一部分可能会在关闭期间被刷新,如果它丢失,那么您最后一次写入实际上失败了,应该有人知道这件事.文件对象的析构函数是自动关闭它的好地方,但人们说不要从析构函数中抛出异常,所以如果关闭失败那么你怎么知道呢?我听说有人建议手动调用文件的close()方法。这听起来不错,除了如果多个文件的close()方法在这种情况下全部失败会发生什么:MyFilex(0),y(1),z(2);x.close();y.close();z.close();?好吧,如果“x”的close()方法抛出异常,那么您已经很好地维护了避免在“x”的析构函数中抛出异常的规则

c++ - 如果在构造函数中抛出异常,为对象分配的内存是否会自动删除?

假设有这段代码:classCFoo{public:CFoo(){iBar=newCBar();}private:CBar*iBar;};....CFoo*foo=newCFoo();当上面的行被执行时,首先分配内存来保存CFoo对象。但是如果newCBar()行抛出异常(由于内存不足),系统会自动释放之前分配给CFoo对象的内存吗?我认为它必须,但找不到任何明确的引用资料。如果没有,编码器如何释放内存,因为它不会分配给foo? 最佳答案 是的,分配给CFoo对象的内存在这种情况下将被释放。由于分配失败导致的异常导致CFoo构造函数无

c++ - std::stod 为应该有效的字符串抛出 out_of_range 错误

#include#include#includeusingnamespacestd;intmain(){stringstreamss;doublead=7.63918e-313;ss在这里运行:https://onlinegdb.com/Sy1MT1iQM“7.63918e-313”将由序列化一个double值产生,但stod不能反序列化它。这里发生了什么?最小的双倍数应该是10^−324左右。stdlib中是否有一对函数可以可靠地从字符串化来回映射double?不应该有吗?情节变厚了。我们有两个奇怪的观察结果。std::numeric_limits::min()stod也无法解析。s

c++ - 不知道使用 google-test 在哪里抛出异常

我们使用GoogleTest作为我们的C++单元测试框架。但是我遇到了一个痛苦的情况,不知道如何处理。基本上,当代码中存在未捕获的异常时,我会在控制台中打印以下错误消息并得到一个FAILED。很明显,这个异常是被googletest捕获的。但是,我根本不知道异常在哪里抛出。unknownfile:error:SEHexceptionwithcode0xc000005throwninthetestbody.我能做的就是调试和单步调试代码,我最终会找出问题所在。但这不是很有效,因为项目很大。我希望调试器在未捕获的异常行处停止,并给我一个漂亮的调用堆栈。谷歌测试中有什么我不知道的设置吗?任何

c++ - 关于 C++ 中 sizeof(class) 用法抛出的错误

当我用C++编译我的项目时,MSVC抛出以下错误:error#94:thesizeofanarraymustbegreaterthanzero执行sizeof时在以下行中抛出错误:if(sizeof(MyNamespace::MyClass)==60)MyClass是这样定义的:classMyClass:publicParentClass{public:MyClass(void*pCreate,inta,intb,boolc):ParentClass(pCreate,a,b,c){}virtualinlinevoidmyFunc(){//something}private:virtua